package boardgamer.yavalath.common;

import boardgamer.common.GameUpdate;
import boardgamer.common.net.PlayerId;
import com.google.common.collect.ImmutableList;

public interface YavalathGameServer {

  void joinGame(PlayerId player, YavalathPlayerState playerSetting);

  void startGame();

  void addToken(PlayerId player, int x, int y) throws YavalathException;

  YavalathReplay getReplay();

  ImmutableList<GameUpdate<YavalathGameState, YavalathGameStateChange>> refresh(int firstTimestamp);
}
